package com.uplooking.pojo;

import java.util.ArrayList;
import java.util.List;

public class DictVOExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DictVOExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andDtidIsNull() {
            addCriterion("dtid is null");
            return (Criteria) this;
        }

        public Criteria andDtidIsNotNull() {
            addCriterion("dtid is not null");
            return (Criteria) this;
        }

        public Criteria andDtidEqualTo(Integer value) {
            addCriterion("dtid =", value, "dtid");
            return (Criteria) this;
        }

        public Criteria andDtidNotEqualTo(Integer value) {
            addCriterion("dtid <>", value, "dtid");
            return (Criteria) this;
        }

        public Criteria andDtidGreaterThan(Integer value) {
            addCriterion("dtid >", value, "dtid");
            return (Criteria) this;
        }

        public Criteria andDtidGreaterThanOrEqualTo(Integer value) {
            addCriterion("dtid >=", value, "dtid");
            return (Criteria) this;
        }

        public Criteria andDtidLessThan(Integer value) {
            addCriterion("dtid <", value, "dtid");
            return (Criteria) this;
        }

        public Criteria andDtidLessThanOrEqualTo(Integer value) {
            addCriterion("dtid <=", value, "dtid");
            return (Criteria) this;
        }

        public Criteria andDtidIn(List<Integer> values) {
            addCriterion("dtid in", values, "dtid");
            return (Criteria) this;
        }

        public Criteria andDtidNotIn(List<Integer> values) {
            addCriterion("dtid not in", values, "dtid");
            return (Criteria) this;
        }

        public Criteria andDtidBetween(Integer value1, Integer value2) {
            addCriterion("dtid between", value1, value2, "dtid");
            return (Criteria) this;
        }

        public Criteria andDtidNotBetween(Integer value1, Integer value2) {
            addCriterion("dtid not between", value1, value2, "dtid");
            return (Criteria) this;
        }

        public Criteria andDttidIsNull() {
            addCriterion("dttid is null");
            return (Criteria) this;
        }

        public Criteria andDttidIsNotNull() {
            addCriterion("dttid is not null");
            return (Criteria) this;
        }

        public Criteria andDttidEqualTo(Integer value) {
            addCriterion("dttid =", value, "dttid");
            return (Criteria) this;
        }

        public Criteria andDttidNotEqualTo(Integer value) {
            addCriterion("dttid <>", value, "dttid");
            return (Criteria) this;
        }

        public Criteria andDttidGreaterThan(Integer value) {
            addCriterion("dttid >", value, "dttid");
            return (Criteria) this;
        }

        public Criteria andDttidGreaterThanOrEqualTo(Integer value) {
            addCriterion("dttid >=", value, "dttid");
            return (Criteria) this;
        }

        public Criteria andDttidLessThan(Integer value) {
            addCriterion("dttid <", value, "dttid");
            return (Criteria) this;
        }

        public Criteria andDttidLessThanOrEqualTo(Integer value) {
            addCriterion("dttid <=", value, "dttid");
            return (Criteria) this;
        }

        public Criteria andDttidIn(List<Integer> values) {
            addCriterion("dttid in", values, "dttid");
            return (Criteria) this;
        }

        public Criteria andDttidNotIn(List<Integer> values) {
            addCriterion("dttid not in", values, "dttid");
            return (Criteria) this;
        }

        public Criteria andDttidBetween(Integer value1, Integer value2) {
            addCriterion("dttid between", value1, value2, "dttid");
            return (Criteria) this;
        }

        public Criteria andDttidNotBetween(Integer value1, Integer value2) {
            addCriterion("dttid not between", value1, value2, "dttid");
            return (Criteria) this;
        }

        public Criteria andDtkeyIsNull() {
            addCriterion("dtkey is null");
            return (Criteria) this;
        }

        public Criteria andDtkeyIsNotNull() {
            addCriterion("dtkey is not null");
            return (Criteria) this;
        }

        public Criteria andDtkeyEqualTo(Integer value) {
            addCriterion("dtkey =", value, "dtkey");
            return (Criteria) this;
        }

        public Criteria andDtkeyNotEqualTo(Integer value) {
            addCriterion("dtkey <>", value, "dtkey");
            return (Criteria) this;
        }

        public Criteria andDtkeyGreaterThan(Integer value) {
            addCriterion("dtkey >", value, "dtkey");
            return (Criteria) this;
        }

        public Criteria andDtkeyGreaterThanOrEqualTo(Integer value) {
            addCriterion("dtkey >=", value, "dtkey");
            return (Criteria) this;
        }

        public Criteria andDtkeyLessThan(Integer value) {
            addCriterion("dtkey <", value, "dtkey");
            return (Criteria) this;
        }

        public Criteria andDtkeyLessThanOrEqualTo(Integer value) {
            addCriterion("dtkey <=", value, "dtkey");
            return (Criteria) this;
        }

        public Criteria andDtkeyIn(List<Integer> values) {
            addCriterion("dtkey in", values, "dtkey");
            return (Criteria) this;
        }

        public Criteria andDtkeyNotIn(List<Integer> values) {
            addCriterion("dtkey not in", values, "dtkey");
            return (Criteria) this;
        }

        public Criteria andDtkeyBetween(Integer value1, Integer value2) {
            addCriterion("dtkey between", value1, value2, "dtkey");
            return (Criteria) this;
        }

        public Criteria andDtkeyNotBetween(Integer value1, Integer value2) {
            addCriterion("dtkey not between", value1, value2, "dtkey");
            return (Criteria) this;
        }

        public Criteria andDtvalueIsNull() {
            addCriterion("dtvalue is null");
            return (Criteria) this;
        }

        public Criteria andDtvalueIsNotNull() {
            addCriterion("dtvalue is not null");
            return (Criteria) this;
        }

        public Criteria andDtvalueEqualTo(String value) {
            addCriterion("dtvalue =", value, "dtvalue");
            return (Criteria) this;
        }

        public Criteria andDtvalueNotEqualTo(String value) {
            addCriterion("dtvalue <>", value, "dtvalue");
            return (Criteria) this;
        }

        public Criteria andDtvalueGreaterThan(String value) {
            addCriterion("dtvalue >", value, "dtvalue");
            return (Criteria) this;
        }

        public Criteria andDtvalueGreaterThanOrEqualTo(String value) {
            addCriterion("dtvalue >=", value, "dtvalue");
            return (Criteria) this;
        }

        public Criteria andDtvalueLessThan(String value) {
            addCriterion("dtvalue <", value, "dtvalue");
            return (Criteria) this;
        }

        public Criteria andDtvalueLessThanOrEqualTo(String value) {
            addCriterion("dtvalue <=", value, "dtvalue");
            return (Criteria) this;
        }

        public Criteria andDtvalueLike(String value) {
            addCriterion("dtvalue like", value, "dtvalue");
            return (Criteria) this;
        }

        public Criteria andDtvalueNotLike(String value) {
            addCriterion("dtvalue not like", value, "dtvalue");
            return (Criteria) this;
        }

        public Criteria andDtvalueIn(List<String> values) {
            addCriterion("dtvalue in", values, "dtvalue");
            return (Criteria) this;
        }

        public Criteria andDtvalueNotIn(List<String> values) {
            addCriterion("dtvalue not in", values, "dtvalue");
            return (Criteria) this;
        }

        public Criteria andDtvalueBetween(String value1, String value2) {
            addCriterion("dtvalue between", value1, value2, "dtvalue");
            return (Criteria) this;
        }

        public Criteria andDtvalueNotBetween(String value1, String value2) {
            addCriterion("dtvalue not between", value1, value2, "dtvalue");
            return (Criteria) this;
        }

        public Criteria andDtdisIsNull() {
            addCriterion("dtdis is null");
            return (Criteria) this;
        }

        public Criteria andDtdisIsNotNull() {
            addCriterion("dtdis is not null");
            return (Criteria) this;
        }

        public Criteria andDtdisEqualTo(Integer value) {
            addCriterion("dtdis =", value, "dtdis");
            return (Criteria) this;
        }

        public Criteria andDtdisNotEqualTo(Integer value) {
            addCriterion("dtdis <>", value, "dtdis");
            return (Criteria) this;
        }

        public Criteria andDtdisGreaterThan(Integer value) {
            addCriterion("dtdis >", value, "dtdis");
            return (Criteria) this;
        }

        public Criteria andDtdisGreaterThanOrEqualTo(Integer value) {
            addCriterion("dtdis >=", value, "dtdis");
            return (Criteria) this;
        }

        public Criteria andDtdisLessThan(Integer value) {
            addCriterion("dtdis <", value, "dtdis");
            return (Criteria) this;
        }

        public Criteria andDtdisLessThanOrEqualTo(Integer value) {
            addCriterion("dtdis <=", value, "dtdis");
            return (Criteria) this;
        }

        public Criteria andDtdisIn(List<Integer> values) {
            addCriterion("dtdis in", values, "dtdis");
            return (Criteria) this;
        }

        public Criteria andDtdisNotIn(List<Integer> values) {
            addCriterion("dtdis not in", values, "dtdis");
            return (Criteria) this;
        }

        public Criteria andDtdisBetween(Integer value1, Integer value2) {
            addCriterion("dtdis between", value1, value2, "dtdis");
            return (Criteria) this;
        }

        public Criteria andDtdisNotBetween(Integer value1, Integer value2) {
            addCriterion("dtdis not between", value1, value2, "dtdis");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}